home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / linux / isdn.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  6KB  |  143 lines

  1. /* $Id: isdn.h,v 1.125.2.3 2004/02/10 01:07:14 keil Exp $
  2.  *
  3.  * Main header for the Linux ISDN subsystem (linklevel).
  4.  *
  5.  * Copyright 1994,95,96 by Fritz Elfert (fritz@isdn4linux.de)
  6.  * Copyright 1995,96    by Thinking Objects Software GmbH Wuerzburg
  7.  * Copyright 1995,96    by Michael Hipp (Michael.Hipp@student.uni-tuebingen.de)
  8.  * 
  9.  * This software may be used and distributed according to the terms
  10.  * of the GNU General Public License, incorporated herein by reference.
  11.  *
  12.  */
  13.  
  14. #ifndef __ISDN_H__
  15. #define __ISDN_H__
  16.  
  17. #include <linux/ioctl.h>
  18.  
  19. #define ISDN_MAX_DRIVERS    32
  20. #define ISDN_MAX_CHANNELS   64
  21.  
  22. /* New ioctl-codes */
  23. #define IIOCNETAIF  _IO('I',1)
  24. #define IIOCNETDIF  _IO('I',2)
  25. #define IIOCNETSCF  _IO('I',3)
  26. #define IIOCNETGCF  _IO('I',4)
  27. #define IIOCNETANM  _IO('I',5)
  28. #define IIOCNETDNM  _IO('I',6)
  29. #define IIOCNETGNM  _IO('I',7)
  30. #define IIOCGETSET  _IO('I',8) /* no longer supported */
  31. #define IIOCSETSET  _IO('I',9) /* no longer supported */
  32. #define IIOCSETVER  _IO('I',10)
  33. #define IIOCNETHUP  _IO('I',11)
  34. #define IIOCSETGST  _IO('I',12)
  35. #define IIOCSETBRJ  _IO('I',13)
  36. #define IIOCSIGPRF  _IO('I',14)
  37. #define IIOCGETPRF  _IO('I',15)
  38. #define IIOCSETPRF  _IO('I',16)
  39. #define IIOCGETMAP  _IO('I',17)
  40. #define IIOCSETMAP  _IO('I',18)
  41. #define IIOCNETASL  _IO('I',19)
  42. #define IIOCNETDIL  _IO('I',20)
  43. #define IIOCGETCPS  _IO('I',21)
  44. #define IIOCGETDVR  _IO('I',22)
  45. #define IIOCNETLCR  _IO('I',23) /* dwabc ioctl for LCR from isdnlog */
  46. #define IIOCNETDWRSET  _IO('I',24) /* dwabc ioctl to reset abc-values to default on a net-interface */
  47.  
  48. #define IIOCNETALN  _IO('I',32)
  49. #define IIOCNETDLN  _IO('I',33)
  50.  
  51. #define IIOCNETGPN  _IO('I',34)
  52.  
  53. #define IIOCDBGVAR  _IO('I',127)
  54.  
  55. #define IIOCDRVCTL  _IO('I',128)
  56.  
  57. /* cisco hdlck device private ioctls */
  58. #define SIOCGKEEPPERIOD    (SIOCDEVPRIVATE + 0)
  59. #define SIOCSKEEPPERIOD    (SIOCDEVPRIVATE + 1)
  60. #define SIOCGDEBSERINT    (SIOCDEVPRIVATE + 2)
  61. #define SIOCSDEBSERINT    (SIOCDEVPRIVATE + 3)
  62.  
  63. /* Packet encapsulations for net-interfaces */
  64. #define ISDN_NET_ENCAP_ETHER      0
  65. #define ISDN_NET_ENCAP_RAWIP      1
  66. #define ISDN_NET_ENCAP_IPTYP      2
  67. #define ISDN_NET_ENCAP_CISCOHDLC  3 /* Without SLARP and keepalive */
  68. #define ISDN_NET_ENCAP_SYNCPPP    4
  69. #define ISDN_NET_ENCAP_UIHDLC     5
  70. #define ISDN_NET_ENCAP_CISCOHDLCK 6 /* With SLARP and keepalive    */
  71. #define ISDN_NET_ENCAP_X25IFACE   7 /* Documentation/networking/x25-iface.txt*/
  72. #define ISDN_NET_ENCAP_MAX_ENCAP  ISDN_NET_ENCAP_X25IFACE
  73.  
  74. /* Facility which currently uses an ISDN-channel */
  75. #define ISDN_USAGE_NONE       0
  76. #define ISDN_USAGE_RAW        1
  77. #define ISDN_USAGE_MODEM      2
  78. #define ISDN_USAGE_NET        3
  79. #define ISDN_USAGE_VOICE      4
  80. #define ISDN_USAGE_FAX        5
  81. #define ISDN_USAGE_MASK       7 /* Mask to get plain usage */
  82. #define ISDN_USAGE_DISABLED  32 /* This bit is set, if channel is disabled */
  83. #define ISDN_USAGE_EXCLUSIVE 64 /* This bit is set, if channel is exclusive */
  84. #define ISDN_USAGE_OUTGOING 128 /* This bit is set, if channel is outgoing  */
  85.  
  86. #define ISDN_MODEM_NUMREG    24        /* Number of Modem-Registers        */
  87. #define ISDN_LMSNLEN         255 /* Length of tty's Listen-MSN string */
  88. #define ISDN_CMSGLEN         50     /* Length of CONNECT-Message to add for Modem */
  89.  
  90. #define ISDN_MSNLEN          32
  91. #define NET_DV 0x06  /* Data version for isdn_net_ioctl_cfg   */
  92. #define TTY_DV 0x06  /* Data version for iprofd etc.          */
  93.  
  94. #define INF_DV 0x01  /* Data version for /dev/isdninfo        */
  95.  
  96. typedef struct {
  97.   char drvid[25];
  98.   unsigned long arg;
  99. } isdn_ioctl_struct;
  100.  
  101. typedef struct {
  102.   char name[10];
  103.   char phone[ISDN_MSNLEN];
  104.   int  outgoing;
  105. } isdn_net_ioctl_phone;
  106.  
  107. typedef struct {
  108.   char name[10];     /* Name of interface                     */
  109.   char master[10];   /* Name of Master for Bundling           */
  110.   char slave[10];    /* Name of Slave for Bundling            */
  111.   char eaz[256];     /* EAZ/MSN                               */
  112.   char drvid[25];    /* DriverId for Bindings                 */
  113.   int  onhtime;      /* Hangup-Timeout                        */
  114.   int  charge;       /* Charge-Units                          */
  115.   int  l2_proto;     /* Layer-2 protocol                      */
  116.   int  l3_proto;     /* Layer-3 protocol                      */
  117.   int  p_encap;      /* Encapsulation                         */
  118.   int  exclusive;    /* Channel, if bound exclusive           */
  119.   int  dialmax;      /* Dial Retry-Counter                    */
  120.   int  slavedelay;   /* Delay until slave starts up           */
  121.   int  cbdelay;      /* Delay before Callback                 */
  122.   int  chargehup;    /* Flag: Charge-Hangup                   */
  123.   int  ihup;         /* Flag: Hangup-Timeout on incoming line */
  124.   int  secure;       /* Flag: Secure                          */
  125.   int  callback;     /* Flag: Callback                        */
  126.   int  cbhup;        /* Flag: Reject Call before Callback     */
  127.   int  pppbind;      /* ippp device for bindings              */
  128.   int  chargeint;    /* Use fixed charge interval length      */
  129.   int  triggercps;   /* BogoCPS needed for triggering slave   */
  130.   int  dialtimeout;  /* Dial-Timeout                          */
  131.   int  dialwait;     /* Time to wait after failed dial        */
  132.   int  dialmode;     /* Flag: off / on / auto                 */
  133. } isdn_net_ioctl_cfg;
  134.  
  135. #define ISDN_NET_DIALMODE_MASK  0xC0    /* bits for status                */
  136. #define ISDN_NET_DM_OFF            0x00    /* this interface is stopped      */
  137. #define ISDN_NET_DM_MANUAL    0x40    /* this interface is on (manual)  */
  138. #define ISDN_NET_DM_AUTO    0x80    /* this interface is autodial     */
  139. #define ISDN_NET_DIALMODE(x) ((&(x))->flags & ISDN_NET_DIALMODE_MASK)
  140.  
  141.  
  142. #endif /* __ISDN_H__ */
  143.